#include <ptgui/ptgui.h>

#define	PT_CYCLE_TASK_PTN_SIZE	15

rt_uint16_t counter;

/**********************************************************************************************************************
*			4ms cycle Task
**********************************************************************************************************************/
void pt_cycle_task_4ms(void)
{
	/************************/
	/* 4msec Process		*/
	/************************/
}

/**********************************************************************************************************************
*			8ms cycle Task
**********************************************************************************************************************/
void pt_cycle_task_8ms(void)
{
	/************************/
	/*      8msec Process		*/
	/************************/
	
}

/**********************************************************************************************************************
*			16ms cycle Task
**********************************************************************************************************************/
void pt_cycle_task_16ms(void)
{
	/************************/
	/* 16msec Process	*/
	/************************/
}

/**********************************************************************************************************************
*			32ms cycle Task
**********************************************************************************************************************/
void pt_cycle_task_32ms(void)
{
	/************************/
	/*   32msec Process	    */
	/************************/		

}

/**********************************************************************************************************************
*			64ms cycle Task
**********************************************************************************************************************/
void pt_cycle_task_64ms(void)
{
	/************************/
	/*   64msec Process	    */
	/************************/			
}

void pt_cycle_task_dummy(void)
{
}

/**********************************************************************************************************************
*			cycle Task Run-Time Map
**********************************************************************************************************************/
/*		execute time-map
	0	1	2	3	4	5	6	7	8	9	a	b	c	d	e	f

	4x	4x	4x	4x	4x	4x	4x	4x 	4x	4x	4x	4x	4x	4x	4x	4x
	8x		8x		8x		8x	   	8x		8x		8x		8x
		16x				16x		   		16x				16x
				32x				   				32x
								Dm 								64x
*/
void (* const pt_cycle_task_table[])(void) = {
	pt_cycle_task_8ms,
	pt_cycle_task_16ms,
	pt_cycle_task_8ms,
	pt_cycle_task_32ms,
	pt_cycle_task_8ms,
	pt_cycle_task_16ms,
	pt_cycle_task_8ms,
	pt_cycle_task_dummy,
	pt_cycle_task_8ms,
	pt_cycle_task_8ms,
	pt_cycle_task_8ms,
	pt_cycle_task_32ms,
	pt_cycle_task_8ms,
	pt_cycle_task_8ms,
	pt_cycle_task_8ms,
	pt_cycle_task_64ms
};



void pt_exec_time_task( void )
{
	pt_cycle_task_4ms();
	counter++;
	if( counter >= PT_CYCLE_TASK_PTN_SIZE ){
		counter = 0;
	}
	
	pt_cycle_task_table[counter]();
}


